import { gg } from "../frame/gg";
// import { he } from "../frame/he";
import { common } from "./common";
import { UiManager } from "../scripts/manager/UiManager";

const { ccclass, property } = cc._decorator;

@ccclass
export default class manager extends cc.Component {

    @property(cc.Prefab)
    guidePre: cc.Prefab = null
    transition_ani = ""
    uiManager: UiManager = null             //uimanager脚本
    eventManager: cc.EventTarget = null

    start_app() {
        this.initProp()         // 额外属性
        this.initComponent()    // 额外组件
        this.switch_event()     // 前后台切换暂停
        // // 初始化
        // // 要获得用户之后才进行初始化
        // // 绑定节点至更目录
        cc.game.addPersistRootNode(this.node);
        // let gg: any = window
        // gg = this
        // 中心脚本改为gg
    }
    // 前后台切换状态
    switch_event() {
        cc.game.on(cc.game.EVENT_HIDE, (event) => {
            console.log("切换后台", event);
            // he.User.saveInfo()   // 用户存档储存
            cc.game.pause()
        });
        cc.game.on(cc.game.EVENT_SHOW, (event) => {
            console.log("切换前台");
            cc.game.resume()
        });
    }
    initProp() {
    }


    initComponent() {
        this.uiManager = this.node.getComponent("UiManager")
        if (!this.uiManager) {
            this.uiManager = this.node.addComponent("UiManager")
        }
        this.uiManager.initInfo()
        gg.uiManager = this.uiManager
        if (common.comicGuide) {
            //新手引导功能，以后 再说
            // this.eventManager.on('newGuide', this.checkGuide, this)
        }
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////以下内容有关新手引导暂时不需要、、、、、、、、、、、、、、、、、、、
    // checkGuide(param, call) {
    //     console.log('收到信息')
    //     let index = param
    //     this.loadPrefab()
    //     this.getTask()
    //     this.runTask2(index, call)
    // }

    // loadPrefab() {
    //     // try {
    //     let node = cc.instantiate(this.guidePre)          //he.load.get('uimod/guide/GodGuide')
    //     node.zIndex = 99;
    //     node.position = cc.v2(0, 0);
    //     //不持久化到编辑器
    //     node._objFlags = cc.Object.Flags.DontSave;
    //     // 走uimanager
    //     node.parent = this.node.parent.getChildByName('Canvas') || this.node;
    //     this._godGuide = node.getComponent('guide');
    // }
    // //读取playdata的Guide表
    // getTask() {
    //     this.taskGrp = []
    //     let guide = he.Db.getTable('Guide')
    //     if (guide && guide.length > 0) {
    //         for (let i = 0; i < guide.length; i++) {
    //             this.taskGrp.push(guide[i])
    //         }
    //     }
    // }
    // runTask2(num, endCall) {
    //     let grp = []
    //     let task = {
    //         taskId: num,
    //         name: '一个测试',
    //         debug: true,
    //         autorun: false,
    //         steps: []
    //     }
    //     for (let i = 0; i < this.taskGrp.length; i++) {
    //         if (this.taskGrp[i].taskId == num) {
    //             grp.push(this.taskGet(this.taskGrp[i]))
    //         }
    //     }
    //     task.steps = grp
    //     this._godGuide.init()
    //     this._godGuide.setTask(task, endCall);
    //     this._godGuide.run();
    // }
    // taskGet(info) {
    //     let task = { "desc": "点击", "config": info.config }
    //     let som
    //     switch (info.cmd) {
    //         case 'text':
    //             som = { "command": { 'cmd': "text", "args": `${info.args}`, 'pos': `${info.textPos}`, 'role': `${info.textRole}` } }
    //             Object.assign(task, som)
    //             break
    //         case 'finger':
    //             som = { "command": { 'cmd': "finger", "args": `${info.args}`, 'text': `${info.text}`, 'pos': `${info.textPos}`, needItem: `${info.needItem}` } }
    //             Object.assign(task, som)
    //             break
    //         case 'drag':
    //             som = { "command": { 'cmd': "drag", "args": `${info.args}`, "ends": `${info.ends}`, "text": info.text, 'pos': `${info.textPos}` } }
    //             Object.assign(task, som)
    //             break
    //         case 'rect':
    //             som = { "command": { 'cmd': "rect", "args": `${info.args}`, "text": info.text, 'pos': `${info.textPos}` } }
    //             Object.assign(task, som)
    //             break
    //     }
    //     if (info.delayTime) {
    //         let time = { "delayTime": info.delayTime }
    //         Object.assign(task, time)
    //     }
    //     return task
    // }


}
